// This file was created by Filewrap 1.1
// Little endian mode
// DO NOT EDIT

#include "../PVRTMemoryFileSystem.h"

// using 32 bit to guarantee alignment.
#ifndef A32BIT
 #define A32BIT static const unsigned int
#endif

// ******** Start: VertShader.vsh ********

// File data
static const char _VertShader_vsh[] = 
	"/****************************************************************************\r\n"
	"* Vertex Shader\r\n"
	"* This code is for educational purposes, not optimized for performance.\r\n"
	"* For best performance, use different shaders for different light setups \r\n"
	"* and calculate lighting in model space.\r\n"
	"*\r\n"
	"* The use of several complex lights might significantly affect performance \r\n"
	"* on some mobile platforms.\r\n"
	"*\r\n"
	"* For fast transformation and lighting code, please see FastTnL example.\r\n"
	"*****************************************************************************/\r\n"
	"\r\n"
	"attribute highp vec3  inVertex; \r\n"
	"attribute highp vec3  inNormal;\r\n"
	"attribute highp vec2  inTexCoord;\r\n"
	"\r\n"
	"uniform highp mat4  MVPMatrix;\r\n"
	"uniform highp mat4  ModelView;\r\n"
	"uniform highp mat3  ModelViewIT;\r\n"
	"uniform lowp  int   iLightSel;\r\n"
	"uniform highp vec3  LightPosition;\r\n"
	"uniform highp vec3  LightDirection;\r\n"
	"uniform lowp  vec3  LightColor;\r\n"
	"\r\n"
	"varying mediump vec2  TexCoord;\r\n"
	"varying lowp    vec3  DiffuseLight;\r\n"
	"varying lowp    vec3  SpecularLight;\r\n"
	"\r\n"
	"const highp float  cShininess = 16.0;\r\n"
	"const highp float  cSpotCutoff = 0.9; \r\n"
	"const highp float  cSpotExp = 40.0;\r\n"
	"\r\n"
	"// General Blinn-Phong lighting function\r\n"
	"//\r\n"
	"// Calculated light is added to the varyings DiffuseLight and SpecularLight\r\n"
	"//\r\n"
	"void Lighting(bool bSpecular, highp vec3 normal, highp vec3 eyeDir, highp vec3 lightDir, lowp vec3 lightColor)\r\n"
	"{\r\n"
	"\tlowp float NdotL = max(dot(normal, lightDir), 0.0);\r\n"
	"\tDiffuseLight += NdotL * lightColor;\r\n"
	"\t\r\n"
	"\tif (bSpecular && NdotL > 0.0)\r\n"
	"\t{\r\n"
	"\t\thighp vec3 halfVector = normalize(lightDir + eyeDir);\r\n"
	"\t\thighp float NdotH = max(dot(normal, halfVector), 0.0);\t\t\r\n"
	"\t\thighp float specular = pow(NdotH, cShininess);\r\n"
	"\t\tSpecularLight += specular * lightColor;\r\n"
	"\t}\t\r\n"
	"}\r\n"
	"\r\n"
	"void DirectionalLight(bool bSpecular, highp vec3 normal, highp vec3 vertexPos)\r\n"
	"{\r\n"
	"\t// eye direction is the normalized inverse of the vertex position in eye space\r\n"
	"\thighp vec3 eyeDir = -normalize(vertexPos);\r\n"
	"\t\r\n"
	"\tLighting(bSpecular, normal, eyeDir, LightDirection, LightColor);\r\n"
	"}\r\n"
	"\r\n"
	"void PointLight(bool bSpecular, highp vec3 normal, highp vec3 vertexPos)\r\n"
	"{\r\n"
	"\t// calculate normalized light direction\r\n"
	"\thighp vec3 lightDir = -normalize(vertexPos - LightPosition);\r\n"
	"\t\r\n"
	"\t// eye direction is the normalized inverse of the vertex position in eye space\r\n"
	"\thighp vec3 eyeDir = -normalize(vertexPos);\r\n"
	"\t\r\n"
	"\tLighting(bSpecular, normal, eyeDir, lightDir, LightColor);\r\n"
	"}\r\n"
	"\r\n"
	"void SpotLight(bool bSpecular, highp vec3 normal, highp vec3 vertexPos)\r\n"
	"{\r\n"
	"\t// calculate normalized light direction\r\n"
	"\thighp vec3 lightDir = -normalize(vertexPos - LightPosition);\r\n"
	"\t\r\n"
	"\t// eye direction is the normalized inverse of the vertex position in eye space\r\n"
	"\thighp vec3 eyeDir = -normalize(vertexPos);\r\n"
	"\t\r\n"
	"\t// LightDirection is spot direction here\r\n"
	"\thighp float spotDot = dot(lightDir, LightDirection);\r\n"
	"\thighp float attenuation = 0.0;\r\n"
	"\tif (spotDot > cSpotCutoff)\r\n"
	"\t{\r\n"
	"\t\tattenuation = pow(spotDot, cSpotExp);\r\n"
	"\t}\r\n"
	"\t\r\n"
	"\tLighting(bSpecular, normal, eyeDir, lightDir, attenuation * LightColor);\r\n"
	"}\r\n"
	"\r\n"
	"void main()\r\n"
	"{\r\n"
	"\t// transform normal to eye space\r\n"
	"\thighp vec3 normal = normalize(ModelViewIT * inNormal);\r\n"
	"\t\r\n"
	"\t// transform vertex position to eye space\r\n"
	"\thighp vec3 ecPosition = vec3(ModelView * vec4(inVertex, 1.0));\r\n"
	"\t\r\n"
	"\t// initalize light intensity varyings\r\n"
	"\tDiffuseLight = vec3(0.0);\r\n"
	"\tSpecularLight = vec3(0.0);\r\n"
	"\t\r\n"
	"\t// select the light function\r\n"
	"\tif (iLightSel == 0)\t\t\tDirectionalLight(false, normal, ecPosition);\r\n"
	"\telse if (iLightSel == 1)\tDirectionalLight(true, normal, ecPosition);\r\n"
	"\telse if (iLightSel == 2)\tPointLight(false, normal, ecPosition);\r\n"
	"\telse if (iLightSel == 3)\tPointLight(true, normal, ecPosition);\r\n"
	"\telse if (iLightSel == 4)\tSpotLight(false, normal, ecPosition);\r\n"
	"\telse \t\t\t\t\t\tSpotLight(true, normal, ecPosition);\r\n"
	"\t\r\n"
	"\t// Transform position\r\n"
	"\tgl_Position = MVPMatrix * vec4(inVertex, 1.0);\r\n"
	"\t\r\n"
	"\t// Pass through texcoords\r\n"
	"\tTexCoord = inTexCoord;\r\n"
	"}";

// Register VertShader.vsh in memory file system at application startup time
static CPVRTMemoryFileSystem RegisterFile_VertShader_vsh("VertShader.vsh", _VertShader_vsh, 3859);

// ******** End: VertShader.vsh ********

// This file was created by Filewrap 1.1
// Little endian mode
// DO NOT EDIT

#include "../PVRTMemoryFileSystem.h"

// using 32 bit to guarantee alignment.
#ifndef A32BIT
 #define A32BIT static const unsigned int
#endif

// ******** Start: VertShader.vsc ********

// File data
A32BIT _VertShader_vsc[] = {
0x10fab438,0x4d32eefc,0x30050100,0x2501,0xd363e337,0x2000000,0x20000000,0x730f0000,0x0,0x4000000,0x0,0x39000000,0x20303,0x0,0x1010000,0x2,0x0,0xfc0b0000,0x55535020,0x20,0xbf0,0x1,0x1,0x0,0x204,0x4,0x2,0x7d,0x0,0x8,0x0,0xffffffff,0x0,0x122000a,0xffff,0xa000a,0x0,0x0,0x39,0x0,0x0,0x0,0x0,0xfffc,0x0,0x0,0x0,0xffff0009,0xffffffff,0x360003,0x80000a,0x2a0002,0x0,0x2b0002,0x100000,0x360002,0x1,0x370002,0x100001,0x3a0002,0x2,0x3b0002,0x100002,0x420002,
0x3,0x430002,0x100003,0x650001,0x4,0x660001,0x5,0x640001,0x6,0x1,0x7,0x10001,0x8,0x40001,0x9,0x50001,0xa,0x80001,0xb,0x90001,0xc,0x5,0xd0000,0x10000,0xe0010,0x10000,0xf0011,0x10000,0x100014,0x10000,0x110015,0x10000,0x120018,0x10000,0x130019,0x10000,0x140044,0x10000,0x150045,0x10000,0x160048,0x10000,0x170049,0x10000,0x18004c,0x10000,0x19004d,0x10000,0x1a0046,0x10000,0x1b0047,0x10000,0x1c004a,0x10000,0x1d004b,0x10000,0x1e004e,0x10000,0x1f004f,0x30000,0x60,0x140020,0x610003,0x200000,
0x3000a,0x62,0x20,0x5c0001,0x21,0x5d0001,0x22,0x5e0001,0x23,0x20001,0x24,0x60001,0x25,0xa0001,0x26,0x120001,0x27,0x160001,0x28,0x1a0001,0x29,0x1c0001,0x2a,0x1d0001,0x2b,0x1e0001,0x2c,0x500001,0x2d,0x510001,0x2e,0x520001,0x2f,0x530001,0x30,0x680001,0x31,0x690001,0x32,0xa7a61500,0x40811fbe,0xa7c51500,0x40811fbe,0xa7e41500,0x40811fbe,0x377,0xffffffff,0xffffffff,0x0,0x0,0x4,0x20003,0xd0000,0x80010003,0x80018001,0x8001,0x0,0x0,0x0,0x0,0x10001,0x10001,0x10001,0x10001,
0x50000530,0x811002,0x20020180,0x801002,0x20224200,0x801002,0x900000b0,0x18811202,0xa0440000,0x408a1dff,0x50040205,0x40801dfe,0x60040300,0x40811dc6,0xb81021c2,0xc8810816,0xa0860000,0x40811fbd,0xa0a50000,0x40811fbd,0xa0c40000,0x40811fbd,0x500001b0,0x48891281,0xb009c042,0x498f1ab1,0x3,0x0,0xfd000040,0x20007,0x1a0000,0x80010003,0x80018001,0x8001,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x0,0x0,0x0,0x10000,0x0,0x0,0x1a000000,0x10005000,0xda010082,0x10005020,0x1a020082,0x10005041,0x810082,0x14020000,0x81000080,0x10022000,0x80,0x12028000,0x80300880,0x10029040,0x41830081,0x1f7da006,
0x1804080,0x1fbea064,0x3884081,0x1dfe50e4,0x4804080,0x1dc660e4,0x14081,0x6060000,0x50038ab,0xc0026022,0x410138a0,0x1002a022,0xb00080,0x12029000,0x1881,0x14428000,0x3b00880,0x10065000,0x83,0x16028000,0x1b00880,0x10069020,0x20410081,0x6065000,0x138ab,0x1dfef004,0x804083,0x1dc6a004,0x23c04081,0xf002a800,0x9180,0x1fbda0e6,0x4081,0x1fbda105,0x4081,0x1fbda124,0x44081,0x70000,0x2,0x30001,0x80018001,0x80018001,0x0,0x0,0x1010004,0x101,0x3fa10,0x0,0x800000,0xfffff800,0x4,0x20005,0x130000,0x80010003,0x80018001,0x8001,0x0,0x40000,0x0,0x0,0x10000,0x10000,0x10000,0x10001,
0x10001,0x10001,0x10001,0xe00000,0xf8000100,0xa0008102,0x801402,0x20000000,0x801002,0x80000000,0x8801202,0x60e01800,0x28831002,0xe0408700,0x38ab0226,0x503f5a30,0x831081,0xe0600780,0x38ab0222,0x505f5a30,0x831081,0xe0008800,0x38af0622,0xa01f0102,0x801402,0xa000c180,0x801006,0x80200000,0x8801202,0x9000c0b0,0x811006,0x50801a30,0x831084,0x501f5a30,0x831081,0x20005e02,0x38ab0606,0x501f1a30,0x831080,0x507f5a30,0x831080,0x2,0x30004,0x80018000,0x80018003,0x0,0x0,0x4,0x0,0x10301,0xfa100000,0x3000002b,0x10a01002,0xe0011680,0x801002,0xb003803b,0x48881a81,0x3,0x0,0xfd000040,0x20008,0x30000,0x80000003,0x80038001,
0x8001,0x0,0x0,0x0,0x80000000,0x8801442,0xd0001e30,0x811006,0x80e00000,0x8801602,0x4,0x20008,0x40000,0x80000003,0x80038001,0x8001,0x0,0x0,0x10000,0xdfb00000,0x1006d021,0xdebe0081,0x606f001,0x138ab,0x1dfef064,0x804083,0x1dc6a064,0x34081,0x0,0x2400000,0x3f800,0x2,0x30001,0x80018001,0x80018001,0x0,0x0,0x3800004,0xc00000,0x3f800,0x0,0x800000,0xfffff800,0x4,0x20004,0x130000,0x80010003,0x80018001,0x8001,0x0,0x40000,0x0,0x0,0x10000,0x10000,0x10000,0x10001,0x10001,0x10001,0x10001,0xc00000,0xf8000100,0xa0008102,0x801402,
0x20000000,0x801002,0x80000000,0x8801202,0xe0601500,0x28811002,0xe0408700,0x38ab0226,0x503f5a30,0x831081,0xe0200780,0x38ab0220,0x505f5a30,0x831081,0xe0008800,0x38af0622,0xa03f0102,0x801402,0x20204081,0x801002,0x80200080,0x8801202,0x900040b0,0x811002,0x50801a30,0x831084,0x501f5a30,0x831081,0x20005e02,0x38ab0606,0x501f1a30,0x831080,0x507f5a30,0x831080,0x3,0x0,0xf8000240,0x20003,0x10000,0x80010003,0x80018001,0x8001,0x0,0x40000,0x300,0xf80000c0,0x3,0x0,0xf8000080,0x4ffff,0x20000,0x2,0x3000b,0x80018001,0x80018001,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x1,0x10000a0,
0x8102f800,0x1402a000,0x80,0x10022000,0x80,0x12028020,0xb00880,0x10029000,0x1a300081,0x10855040,0x15800083,0x1000e000,0x16002881,0x1000e060,0x150028a1,0x1002e060,0x41022881,0x6062000,0x1a3038ab,0x1081501f,0x300a3,0x0,0x2400000,0x3f800,0x2,0x30001,0x80018001,0x80018001,0x0,0x0,0x2800004,0xc00000,0x3f800,0x0,0x800000,0xfffff800,0x4,0x20009,0x140000,0x80010003,0x80018001,0x8001,0x0,0x40000,0x0,0x0,0x0,0x10000,0x10001,0x10001,0x10001,0x10001,0x10001,0x1010001,0x0,0x1700fd10,0x2002e0a0,0x188410a0,0x2002e020,0xda3610a0,0x10047000,0x82,0x1001a080,0x2002883,
0x400160a0,0x2ab028a1,0x1181d000,0x892488d,0x606f000,0x499438ab,0x606f000,0x8a963882,0x606f000,0x813882,0x1402f01f,0xc3800083,0x1006a001,0x80,0x12028000,0xc0300880,0x10049121,0x170081,0xc205b140,0xc1938a9,0x604f101,0x4d1b3898,0x606f001,0x8e1d3882,0x606f001,0x1a343882,0x1000705f,0x5a350082,0x1002705f,0x30082,0x0,0x400000,0xaf900,0x2,0x30001,0x80018001,0x80018001,0x0,0x0,0xaab40000,0x1181d003,0x3488d,0x0,0x400000,0xbf900,0x2,0x30001,0x80018001,0x80018001,0x0,0x0,0xaad70000,0x1181f003,0x3488c,0x0,0x400000,0xcf900,0x2,0x30001,0x80018001,0x80018001,0x0,0x0,0xaad90000,
0x1181f003,0x3488c,0x0,0x400000,0xdf900,0x2,0x30001,0x80018001,0x80018001,0x0,0x0,0xaadb0000,0x1181f003,0x3488c,0x0,0x400000,0xef900,0x2,0x30001,0x80018001,0x80018001,0x0,0x0,0x1a000000,0x10016060,0x32883,0x0,0x2400000,0x5f800,0x3,0x0,0xf8000040,0x4000f,0xe0000,0x2,0x30001,0x80018001,0x80018001,0x0,0x0,0x18000000,0x10016060,0x32883,0x0,0x2400000,0x5f800,0x3,0x0,0xf8000040,0x4000f,0xd0000,0x2,0x30001,0x80018001,0x80018001,0x0,0x0,0x1a000000,0x10016060,0x32883,0x0,0x2400000,0x4f800,0x3,
0x0,0xf8000040,0x4000f,0xc0000,0x2,0x30001,0x80018001,0x80018001,0x0,0x0,0x18000000,0x10016060,0x32883,0x0,0x2400000,0x4f800,0x3,0x0,0xf8000040,0x4000f,0xb0000,0x2,0x30001,0x80018001,0x80018001,0x0,0x0,0x1a000000,0x10016060,0x32883,0x0,0x2400000,0x2f800,0x3,0x0,0xf8000040,0x4000f,0xa0000,0x2,0x30001,0x80018001,0x80018001,0x0,0x0,0x18000000,0x10016060,0x32883,0x0,0x2400000,0x2f800,0x4,0x2000f,0x90000,0x80010003,0x80018001,0x8001,0x0,0x0,0x10000,0x10001,0x10000,0x10001,0xa1400400,0x28a11001,
0xf0010f1f,0x38ab0606,0xf0015021,0x38820606,0xf0019123,0x38820606,0x701f1a37,0xa21001,0xf0011225,0x38ab0606,0xf0015327,0x38820606,0xf0019429,0x38820606,0x705f1a39,0xa21001,0x6,0x6c00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x803f0000,0x0,0x803f0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x803f0000,0x0,0x0,0x0,0x400000,0x0,0x0,0x0,0x40400000,0x803f0000,0x0,0x803f0000,0x0,0x0,0x0,0x0,0x80400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80410000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x663f0000,0x20426666,0x0,0x0,0xe000000,0x65646f4d,0x6569566c,
0x544977,0x3120000,0x1000003,0x10000,0x77070c00,0x6e690000,0x6d726f4e,0x6c61,0x3040400,0x10000,0x100,0x70004,0x566e6900,0x65747265,0x78,0x30404,0x100,0x4040001,0x700,0x65646f4d,0x6569566c,0x77,0x30316,0x100,0x10100001,0xffff,0x66666944,0x4c657375,0x74686769,0x4000000,0x105,0x1000001,0x30000,0x53000007,0x75636570,0x4c72616c,0x74686769,0x4000000,0x105,0x1000001,0x30400,0x69000007,0x6867694c,0x6c655374,0x6000000,0x103,0x1000001,0x42b00,0x67000001,0x6f505f6c,0x69746973,0x6e6f,0x3050501,0x10000,0x100,0xf0004,0x50564d00,0x7274614d,0x7869,0x3031600,0x10000,0x44000100,0xffff10,0x78655400,
0x726f6f43,0x64,0x20503,0x100,0x2080001,0x300,0x65546e69,0x6f6f4378,0x6472,0x3040300,0x10000,0x8000100,0x30004,0x67694c00,0x69447468,0x74636572,0x6e6f69,0x3040000,0x1000003,0x10000,0x700035c,0x694c0000,0x43746867,0x726f6c6f,0x4000000,0x103,0x1000001,0x46000,0x4c000007,0x74686769,0x69736f50,0x6e6f6974,0x4000000,0x303,0x1000001,0x36400,0x7,
};

// Register VertShader.vsc in memory file system at application startup time
static CPVRTMemoryFileSystem RegisterFile_VertShader_vsc("VertShader.vsc", _VertShader_vsc, 3987);

// ******** End: VertShader.vsc ********

